import Mock from 'mockjs'

// 设置延时，模拟网络请求
Mock.setup({
  timeout: '300-600',
})

Mock.mock('/api/users', 'get', {
  code: 200,
  message: 'success',
  'data|5-10': [
    // 随机生成 5 到 10 条数据
    {
      'id|+1': 1, // id 从 1 开始，每次加 1
      name: '@cname', // 随机中文姓名
      'age|18-60': 1, // 随机年龄，18 到 60 之间
      email: '@email', // 随机邮箱
      city: '@city(true)', // 随机城市（包含省份）
    },
  ],
})

Mock.mock('/api/login', 'post', (options) => {
  const body = JSON.parse(options.body)
  const { username, password } = body
  if (username === 'admin' && password === '123456') {
    return {
      code: 200,
      message: '登录成功',
      data: {
        token: 'mock-token-admin',
        username: 'admin',
        roles: 'admin',
      },
    }
  } else if (username === 'zhangsan' && password === '123456') {
    return {
      code: 200,
      message: '登录成功',
      data: {
        token: 'mock-token-user',
        username: 'zhangsan',
        roles: 'user',
      },
    }
  } else {
    return {
      code: 401,
      message: '用户名或密码错误',
    }
  }
})

export default Mock
